package com.hwtx.form.persistence.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author baomidou
 * @since 2024-07-20
 */
@Getter
@Setter
@TableName("form_config_query")
@ToString
public class FormConfigQuery implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 扩展信息
     */
    @TableField(value = "ext", insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
    String ext;
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 字段描述
     */
    @TableField("description")
    private String description;
    /**
     * 名称
     */
    @TableField(value = "name", insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
    private String name;
    /**
     * 序号
     */
    @TableField("num")
    private Integer num;
    /**
     * 查询是否显示（1：查询显示：0：不显示
     */
    @TableField("is_query_show")
    private Byte isQueryShow;
    /**
     * 列表是否查询
     */
    @TableField("is_list_query")
    private Byte isListQuery;
    /**
     * 列表是否显示
     */
    @TableField("is_list_show")
    private Byte isListShow;
    /**
     * 表单字段是否显示
     */
    @TableField("is_form_show")
    private Byte isFormShow;
    /**
     * 是否必填
     */
    @TableField("is_required")
    private Byte isRequired;
    /**
     * 表单字段是否可编辑
     */
    @TableField("is_form_editable")
    private Byte isFormEditable;
    /**
     * 表单控件类型
     */
    @TableField(value = "form_controller", insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
    private Integer formController;
    /**
     * 列表控件类型
     */
    @TableField(value = "list_controller", insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
    private Integer listController;
    /**
     * 列表是否排序（1：是，0：否）
     */
    @TableField("is_sort")
    private Byte isSort;
    /**
     * 查询控件类型
     */
    @TableField(value = "query_controller", insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
    private Integer queryController;
    /**
     * 表单字段引用
     */
    @TableField("model_detail_id")
    private Long modelDetailId;
    /**
     * 表单ID
     */
    @TableField("form_id")
    private Long formId;
    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 创建人ID
     */
    @TableField(value = "create_id", fill = FieldFill.INSERT)
    private String createId;

    /**
     * 修改时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 更新人ID
     */
    @TableField(value = "update_id", fill = FieldFill.UPDATE)
    private String updateId;
}
